package ac.svn.accesscontrol.context;

import java.util.HashMap;
import java.util.Map;

public class ContextHandler 
{
	private static ContextHandler contextHandler 	= new ContextHandler();
	private Map<String, Context> contextMap 		= null;
	private ContextHandler()
	{
		contextMap = new HashMap<String, Context>();
	}

	public static Context getContext(String contextId)
	{
		return contextHandler.contextMap.get(contextId);
	}


	public static String createContext(String contextName)
	{
		Context context = new Context(contextName);
		contextHandler.contextMap.put(context.getContextId(), context);
		return context.getContextId();
	}

	public static void deleteContext(String contextId)
	{
		contextHandler.contextMap.remove(contextId);	
	}

	public static Context getContextByName(String contextName)
	{
		Context context = null;

		for(String contextId: contextHandler.contextMap.keySet())
		{
			if(contextId.toUpperCase().contains(contextName.toUpperCase()))
			{
				context = contextHandler.contextMap.get(contextId);
				break;
			}
		}	

		return context;
	}
}
